For performance reasons, database management systems (DBMS) typically implement write-ahead logging. According to this technique, database transactions are logged to disk before those transactions are considered committed. Thus, writing to the log is in the critical path of a transaction commit operation and can become a performance bottleneck.
Other systems also maintain logs for a variety of reasons. For example, journaling file systems use a variant of write-ahead logging referred to as journaling. According to this technique, the file system stores log data in a journal. The journal is a circular log file that records changes to the file system before those changes are applied. In the event of a power failure or system crash, the file system can read the log data from the journal to reapply the changes and prevent data corruption.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.